package com.ruoyi.fin.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 财务报表服务接口
 * 
 * @author ruoyi
 */
public interface IFinReportService {
    
    /**
     * 获取利润报表数据
     * 
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @param compareType 比较类型（同比:year, 环比:month）
     * @return 利润报表数据
     */
    public List<Map<String, Object>> getProfitReportData(Date startDate, Date endDate, String compareType);
    
    /**
     * 获取所有账户当前余额数据
     * 
     * @return 账户余额数据列表
     */
    public List<Map<String, Object>> getAccountBalanceData();
    
    /**
     * 获取账户余额历史趋势数据
     * 
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @param accountId 账户ID（为空则查询所有账户）
     * @return 账户余额历史趋势数据
     */
    public List<Map<String, Object>> getAccountBalanceTrendData(Date startDate, Date endDate, Long accountId);
    
    /**
     * 导出账户余额数据
     * 
     * @param params 查询参数
     * @return 导出的文件名
     */
    public String exportAccountBalanceData(Map<String, Object> params);
    
    /**
     * 导出财务利润报表数据
     * 
     * @param params 查询参数
     * @return 导出的文件名
     */
    public String exportProfitReportData(Map<String, Object> params);
} 